#! /bin/bash

tmp=/tmp


if [ $# -lt 2 ]; then
	echo "Numero errado de argumentos"
	echo "use $! <arquivo xmi> <arquivos ocl>"
	exit 1
fi

# ajustando 
xmi=$1
shift

rm -f ${tmp}/*.fail
# analise files
for i in $@; do
	# prepara ambiente removendo arquivos antigos
	out=${tmp}/$(basename $i)
	rm -f ${out}
	# realiza a analise
	echo "Iniciando analise lexica/sintatica do arquivo $i"
	cat $i | lex-sint/compiler 1> ${out}
	# verifica ocorrencia de falha lexica/sintatica
	if [ $? -eq 0 ]; then
		echo "Iniciando analise semantica e geracao de codigo do arquivo $i"
		java -jar OCLJavaInv.jar ${xmi} ${out}
	else
		echo "Analise semantica e geracao abortados em funcao de erro lexico/sintatico"
		mv ${out} ${out}.fail
	fi
done
